package org.rcy.framework.rpc.annotations;


import java.io.Serializable;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RpcInject {

	/**
	 * 设置要暴露的服务接口</br>
	 * 非必须，默认为实现类的第一个接口</>
	 * 若有多个接口务必将要暴露的接口放在第一个，或者指定serviceInterface的值
	 */
	Class<?> serviceInterface() default Serializable.class;
	String version();
	String group();

	/**
	 * 使用的rpc协议
	 * @return
	 */
	String rpcProtocol();
}